#include <iostream>

/**
        空指针：指针变量指向內存中编号为0的空间
        用途：初始化指针变量
        注意：空指针指向的內存是不可以访问的
 * @return
 */
int main() {

    //region 空指针
    // 空指针用于给指针变量进行初始化
    int *p = NULL;

    // 空指针用于初始化指针变量，但空指针是不可进行访问的(内存地址为0)，
    // 0-255之间的内存编号是系统占用的，不可访问；

    // 空指针是不可以进行访问的
//    *p = 100;

//    std::cout << *p << std::endl;
    //endregion

    // 总结：空指针和野指针都不是我们申请的空间，因此不要访问。
    // 指针变量p1指向内存地址编号为0x1100的空间，但是0x1100地址空间没有申请
    // 野指针：指针变量指向非法的内存空间
    // 在程序中，尽量避免出现野指针
    int* p1 = (int *)0x1100;

    std::cout << *p1 << std::endl;
    return 0;
}
